The present invention generally relates to telecommunications and more specifically to dynamically adjusting an egress clock rate in order to match the clock rate of an ingress port across an asynchronous network.
In a network capable of transporting asynchronous data, a transmitter node may receive a serial bitstream from a local source, and send the data across the asynchronous network. The data is received at a receiver node. The receiver node stores the incoming data in a buffer.
The data is then arranged into a serial bitstream and played out to the local serial receiver. In playing out the serial bitstream, a clock is used to play the serial bitstream at a certain fixed rate. This clock should be the same rate as the clock used to send the packets at the sender end. The fixed rate, however, is not carried with the data. Accordingly, techniques are used to generate a clock that is similar to the rate used to send the data at the sender end. These techniques often attempt to match the sender rate based on the rate of a data received over of period of time. However, while traversing the network, jitter may be introduced. Accordingly, the data may arrive at the receiver node in varying intervals. Thus, the rate determined may jump around depending on the delay. Also, the rates determined may overshoot the actual rate. Thus, multiple rate determinations may be made that are either too slow or too fast, in an alternating fashion, are used as the clock rate. These determinations are disruptive and may cause the serial receiver to lose its lock because the serial receiver may be configured to receive data at a certain bit rate. Slight variations may be acceptable; however, rate changes in different directions may cause the receiver to lose its lock and errors are caused.